<!DOCTYPE html>
<title>This tests the HTMLImageElement border property.</title>
<body>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script type="text/javascript">
function imageBorderWidth(borderValue, style) {
    var image = document.createElement("img");
    if (borderValue !== undefined)
        image.setAttribute("border", borderValue);
    image.setAttribute("style", style);
    image.setAttribute("width", "0");
    document.body.appendChild(image);
    var borderBoxWidth = image.offsetWidth;
    document.body.removeChild(image);
    return borderBoxWidth / 2;
}

test(function() {
    assert_equals(imageBorderWidth(), 0);
    assert_equals(imageBorderWidth(null), 0);
    assert_equals(imageBorderWidth(''), 0);
    assert_equals(imageBorderWidth(0), 0);
    assert_equals(imageBorderWidth('x'), 0);
    assert_equals(imageBorderWidth(undefined, 'border-width: 20px'), 0);

    assert_equals(imageBorderWidth(null, 'border-width: 20px'), 20);
    assert_equals(imageBorderWidth('', 'border-width: 20px'), 20);
    assert_equals(imageBorderWidth('x', 'border-width: 20px'), 20);
    assert_equals(imageBorderWidth(0, 'border-width: 20px'), 20);

    assert_equals(imageBorderWidth(10), 10);
    assert_equals(imageBorderWidth(' 10'), 10);
    assert_equals(imageBorderWidth('10 '), 10);
    assert_equals(imageBorderWidth(' 10 '), 10);
    assert_equals(imageBorderWidth('10q'), 10);
    assert_equals(imageBorderWidth(' 10q'), 10);
    assert_equals(imageBorderWidth('10q '), 10);
    assert_equals(imageBorderWidth(' 10q '), 10);
});
</script>

